package com.luoyanni.practice;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class TreeSetPractice {
    public static void main(String[] args) {
        /**
         * 1.创建一个TreeSet集合，存储Person对象，按照年龄进行排序，年龄相同按照姓名排序。
         * 2.Scanner对象，监听键盘录入
         * 3.开启for循环，循环3次
         * 4.在每个循环中
         *   ---1.提示用户依次输入姓名，语文，数学，英语成绩
         *   ---2.创建Person对象，把键盘录入的数据封装到Person对象中
         *   ---3.把Person对象添加到TreeSet集合中
         *  5.遍历TreeSet集合，打印集合中的元素
         * */

        TreeSet<Person> ts = new TreeSet<>(new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                //o2的总成绩-o1的总成绩
                return (int) (o2
                        .getChinese() + o2.getMath() + o2.getEnglish() - o1.getChinese() - o1.getMath() - o1.getEnglish());
            }
        });
        Scanner scanner = new Scanner(System.in);

        for (int i = 0; i < 3; i++){
            System.out.println("请输入第：" + (i+1) + "个学生的信息：");
            System.out.println("请输入姓名：");
            //录入的时候中间不能有空格
            String name = scanner.next();
            System.out.println("请输入语文成绩：");
            double chinese = scanner.nextDouble();
            System.out.println("请输入数学成绩：");
            double math = scanner.nextDouble();
            System.out.println("请输入英语成绩：");
            double english = scanner.nextDouble();
            //创建Person对象
            Person p = new Person(name, chinese, math, english);
            //把person对象添加到TreeSet集合中
            ts.add(p);

        }
        //5.遍历TreeSet集合，打印集合中的元素
        for (Person p : ts){
            System.out.println(p);
        }



    }


}
